<?php
function string_getInsertedString($long_string, $short_string, $is_html=false) {
	if ( $short_string>=strlen($long_string) )
		return false;
	$insertion_length = strlen($long_string) - strlen($short_string);
	for ($i = 0; $i < strlen ($short_string); ++$i) {
		if ( $long_string[$i] != $short_string[$i] )
			break;
	}
	$inserted_string = substr($long_string, $i, $insertion_length);
	if ( $is_html && $inserted_string[$insertion_length-1] == '<' ) {
		$inserted_string = '<' . substr($inserted_string, 0, $insertion_length-1);
	}
	return $inserted_string;
}

function DOMElement_getOuterHTML($document, $element){
	$html = $document->saveHTML();
	if ( NULL != $element )
		$element->parentNode->removeChild($element);
	$html2 = $document->saveHTML();
	return string_getInsertedString($html, $html2, true);
}

function getFollowers( $username = 'wpbasis' ) {
	$x = file_get_contents('http://twitter.com/' . $username);
	$doc = new DomDocument;
	@$doc->loadHTML($x);
	$ele = $doc->getElementById('follower_count');
	$innerHTML = (int) preg_replace( '/^< [^>]*>(.*)< [^>]*>$/', "\\1", DOMElement_getOuterHTML($doc, $ele) );
	if ( ! empty($innerHTML) )
		return ' (' . $innerHTML .' Follower)';
}
?>
